DOCUMENTS
how to change wild pok�mon
By Philip Reuben
(http://prtranslations.cjb.net)
Here's some information how to change the wild Pok�mon you fight in different places in the Pok�mon games. Hopefully it will help to make even better Pok�mon hacks, and also if anyone manages to add extra Pok�mon to the games they will be able to add them into the wild. Anyway, I hope this makes sense! Please post on the Message Board if it doesn't. You need to know how to use a hex editor before you read this.
red/blue/green/yellow
There are ten Pok�mon to fight in every area. When you fight a wild battle, one of these ten is chosen at random for you to fight. This means you will be less likely to fight a Pok�mon if there are less of it in those ten slots (which is how some Pok�mon are rarer). The data is stored with the level first (in hex), then the Pok�mon's hex value (which, in the Red/Blue/Green/Yellow versions, have nothing to do with the Pok�mon's numbers). Between each area's data is 00 then another number (which I think is random).
In Pok�mon Red/Blue (Eng), the data for the areas starts at D0E0h. Go there in a hex editor and you will find the following hex values:
- 0324 03A5 03A5 02A5 0224 0324 0324 04A5 0424 0524 0019
The 0019 at the end is just to show that it's the end of that area's Pok�mon. It is not possible to make more Pok�mon be in one area and less in another by moving this, there is more information about this later on. The hex value for Pidgey is 24h, and the hex value for Rattata is A5h. Because of this, the rest of the numbers mean...
- 0324 = Level 3 Pidgey
- 03A5 = Level 3 Rattata
- 03A5 = Level 3 Rattata
- 02A5 = Level 2 Rattata
- 0224 = Level 2 Pidgey
- 0324 = Level 3 Pidgey
- 0324 = Level 3 Pidgey
- 04A5 = Level 4 Rattata
- 0424 = Level 4 Pidgey
- 0524 = Level 5 Pidgey
That's the Pok�mon data for Route 1! When there are pieces of grass near each other, they will probably share the same data (like with all the grass patches on Route 1). This won't always be the case though.
Anyway, if you change those Pok�mon values to...
- 0399 0399 0399 02B0 02B0 03B0 03B1 04B1 04B1 0509
...and play Route 1, the game suddenly seems to make so much more sense!
It might take a bit of searching to find the area you want, but if you know what Pok�mon you can catch there and their levels you should be okay.
Like I said above, it isn't possible to make more Pok�mon appear in one area than another. It turns out that the dividers between the areas are there for no reason, and that the game always acts as if there are ten Pok�mon in each area, with two bytes between each area. Also, it treats the new divider you have put in as if it was a Pok�mon. Oh look, a Level 0 Gastly! I assume this is the same in every version, although I've only tested it in Yellow (Eng).
In Pok�mon Yellow (Eng) the data starts at CD8Ch. It works in exactly the same way apart from that though. It also works the same in Red/Green/Blue (Jap), but the data starts at D156h in these versions. I would have expected Blue (Jap) to be different than Red/Green (Jap), but it isn't.
gold/silver
In Pok�mon Gold/Silver (Jap), the data starts at 2B434. It does not work in quite the same way as with the other games, it is a bit more complicated.
At any one time, there are 7 different Pok�mon which could be in an area. However, there are 3 different time periods (Morning, Day and Night), and they each have a different set of 7 Pok�mon. Other than that, it's about the same. One thing which could even make it easier is that in Gold/Silver (Jap) the hex values for the Pok�mon are the same as their numbers, but in hex. Something similar to 1A01 1919 19 is between each area's data (it is slightly different each time).
The data I'll use as an example is at 2B463. It's the grassy areas on Route 30 (which leads up to the house where Professor Oak gives you the Pok�dex). Here's what it looks like in a hex editor...
- 0210 030A 040A 040B 0410 0410 0410 0210 030A 0410 040B 040A 050B 050B 03A7 0313 04A3 0413 04A3 04A3 04A3 1A02 1919 19
The 1A02 1919 19 at the end just means that it's the end of that area's data. Here's what the rest means...
Morning
- 0210 = Level 2 Pidgey
- 030A = Level 3 Caterpie
- 040A = Level 4 Caterpie
- 040B = Level 4 Metapod
- 0410 = Level 4 Pidgey
- 0410 = Level 4 Pidgey
- 0410 = Level 4 Pidgey
Day
- 0210 = Level 2 Pidgey
- 030A = Level 3 Caterpie
- 0410 = Level 4 Pidgey
- 040B = Level 4 Metapod
- 040A = Level 4 Caterpie
- 050B = Level 5 Metapod
- 050B = Level 5 Metapod
Night
- 03A7 = Level 3 Spinarak
- 0313 = Level 3 Rattata
- 04A3 = Level 4 Hoot-Hoot
- 0413 = Level 4 Rattata
- 04A3 = Level 4 Hoot-Hoot
- 04A3 = Level 4 Hoot-Hoot
- 04A3 = Level 4 Hoot-Hoot
So, why not change all that to...
- 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF 05DF
...and make the game very boring! I think Lorelei would like it though.
Although I am almost completely sure that the information in the Red/Blue/Green/Yellow section is correct, I'm not completely sure about the Gold/Silver section. When I tested this again with Route 29, there were certain Pok�mon I didn't find that I think I should have done (although it's random, so they probably just weren't chosen).